import axios from 'axios'
import api from '@/common/config/api'
import qs from 'qs'
import tools from '@/utils/tools'
import encrypt from '@/utils/encryptUtils'
import _ from 'lodash'
import { uploadOssAndFileCenter } from '@/utils/aliyun_oss'
import version from '@/common/version'

axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'

// 添加通用参数
function addCommonParams(url) {
  let params = tools.getQuery(url)
  params.version = version.version
  params.app = true
  url = tools.setQuery(url, params)
  return url
}
/*是否苹果版本*/
function isIos() {
  return window.webkit !== undefined
}

// http request 拦截器
axios.interceptors.request.use(config => {
  if (!config.headers.accessToken && config.url.indexOf('oauth/user/token') === -1 && config.url.indexOf('oauth/sms/sendCode') === -1 && config.url.indexOf('oauth/sms/match/code') === -1 && config.url.indexOf('cn-shanghai.aliyuncs.com') < 0 && config.url.indexOf(api.dynamicHost) < 0 && config.url.indexOf('oauth/user/updatePassWordByPhone') === -1) {
    config.headers['accessToken'] = 'bearer ' + tools.getToken()
    config.headers['access_token'] = tools.getToken()
    config.headers['Authorization'] = 'bearer ' + tools.getToken()
    config.headers['app'] = true
    config.headers['app_platform'] = isIos() ? 'ios' : 'android'
    config.headers['app_info'] = JSON.stringify({ test: 1 })
  }
  if (config.url.indexOf('cn-shanghai.aliyuncs.com') < 0) {
    let uuid = encrypt.getUUID(6)
    let timestamp = new Date().getTime()
    config.headers['version'] = version.version
    config.headers['deviceId'] = tools.getDeviceId()//获取设备唯一编号
    config.headers['deviceIdIOS'] =  tools.getDeviceIdIOS() //获取苹果设备唯一编号
    config.headers['uuid'] = uuid
    config.headers['timestamp'] = timestamp
    config.headers['sign'] = encrypt.EncryptMd5(encrypt.Encrypt(uuid + timestamp))
  }
  // if (config.url.search('/rest/partyAffairs') !== -1) {
  //   config.headers['accessToken'] = 'bearer ' + tools.getToken()
  //   config.headers['access_token'] = 'c4bd1b3942f3c2acd7657cbd0b5d952f'
  //   config.headers['Authorization'] = 'bearer ' + tools.getToken()
  // }
  // console.log(config)
  return config
}, error => {  // 请求错误处理
  return Promise.reject(error)
})

// http response 拦截器
axios.interceptors.response.use(
  response => {
    return response
  },
  (error) => {
    console.log(error)
    console.log(error.response)
    if (!error.response) {
      window.onFetchFail && window.onFetchFail()
      // tools.alert('接口出错，请联系管理员')
      let message = '网络异常，请稍候再试'
      tools.loginPath()
      localStorage.removeItem('CRYPTOJS_IV')//清key值
      return { status: 444, data: { code: 444, resp_msg: message, message } }
      // return tools.login()
    }
    let ret = _.extend({ data: { code: 500 } }, error.response)
    return ret
  })

let notLogin = (res) => {

}

let getResult = (res) => {
  let errMsg = undefined
  switch (res.status) {
    case 429:
      errMsg = '请求过于频繁，请稍后重试'
      break
    case 430:
      errMsg = '系统时间错误'
      break
    case 431:
      errMsg = '非法访问'
      localStorage.removeItem('CRYPTOJS_IV')
      tools.login()
      break
    case 403:
      errMsg = '接口未授权'
      break
  }
  if (errMsg) {
    tools.tip(errMsg)
  }
  if (res.status === 401) {
    return tools.login()
  }
  if (res.status === 404) {
    return tools.tip(res.data.path + ' 接口被移除，请联系管理员')
  }
  if (res.status === 500 || (res.status !== 200 && res.data && res.data.resp_msg)) {
    if (res.data.resp_code === '9999') {
      tools.tip('系统繁忙，请稍候再试！')
      let message = '系统繁忙，请稍候再试！'
      return { code: 444, resp_msg: message, message }
    }
    res.data.resp_msg = res.data.resp_msg || '接口出错，请联系管理员'
    tools.tip(res.data.resp_msg)
    return res.data
  }
  if (res.status !== 200) {
    return res
  }
  return res.data
}

let pageIndex = '0'
let pageSize = '20'
let jsonHeader = { headers: { 'Content-Type': 'application/json' } }
let formHeader = { headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' } }
let multipartHeader = { headers: { 'Content-Type': 'multipart/form-data' } }
let defaultFuns = {}
for (let funName in api) {
  defaultFuns[funName] = params => {
    return axios.post(api[funName], params, jsonHeader).then((res) => {
      return getResult(res)
    })
  }
}

for (let funName in api) {
  defaultFuns['get' + funName] = params => {
    return axios.get(api[funName] + '?' + qs.stringify(params), jsonHeader).then((res) => {
      return getResult(res)
    })
  }
}

export default {
  ...defaultFuns,
  getToken(username, password, deviceId) {
    return axios.post(api.getToken, qs.stringify({
      userName: username,
      password: password,
      deviceId: deviceId
    })).then((res) => {
      return getResult(res)
    })
  },
  birthday(id) {
    return axios.get(api.birthday + id).then((res) => {
      return getResult(res)
    })
  },
  getMyUserInfo() {
    return axios.get(api.getMyUserInfo).then((res) => {
      return getResult(res)
    })
  },
  appCache(key) {
    return axios.get(api.appCache + key).then((res) => {
      return getResult(res)
    })
  },
  getCommonInfo(params) { // 返回服务端公用配置信息
    return axios.get(api.getCommonInfo + '?' + qs.stringify(params), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 修改用户信息（头像，手机）
  editUserInfo(data) {
    return axios.post(api.editUserInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 更改密码
  updatePassword(newPassWord, oldPassWord) {
    let data = {
      oldPassWord, newPassWord, 'reNewPassWord': newPassWord
    }
    return axios.post(api.updatePassword + '?' + qs.stringify(data), data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询党组织
  partyQueryList(data) {
    return axios.get(api.partyQueryList + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询党组织
  partyQueryById(data) {
    return axios.get(api.partyQueryById + data).then((res) => {
      return getResult(res)
    })
  },
  // 计划的另 一种传参方式
  getOsGroupPageByPathNew(data) {
    return axios.post(api.getOsGroupPageByPathNew, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getPartyMeetPlans(year, pageIndex, type, pagesize) {
    pagesize = pagesize || pageSize
    let data = {
      year, pageIndex, type, pageSize: pagesize
    }
    return axios.post(api.getPartyMeetPlans, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 计划的另 一种传参方式
  getPartyMeetPlansData(data) {
    return axios.post(api.getPartyMeetPlans, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getAllCurrUserCreatePartyMeetingPage(data) {
    return axios.post(api.getAllCurrUserCreatePartyMeetingPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 会议详情
  getPubsherMeetingInfoByPkId(id) {
    return axios.get(api.getPubsherMeetingInfoByPkId + id).then((res) => {
      return getResult(res)
    })
  },
  // 开始签到
  startPartyMemberSign(id) {
    return axios.get(api.startPartyMemberSign + id).then((res) => {
      return getResult(res)
    })
  },
  // 结束会议签到
  endPartyMemberSign(id) {
    return axios.get(api.endPartyMemberSign + id).then((res) => {
      return getResult(res)
    })
  },
  // 通过党小组id获取党小组下的党员  选择参会人要根据会议范围来定。会议范围如果是党小组
  getPartyMemberBySmallGroupIds(smallGroupIds) {
    let data = { smallGroupIds }
    return axios.post(api.getPartyMemberBySmallGroupIds + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 通过各种条件查询党员信息列表
  getPartyMembers(data) {
    // let data = {dataScope, idCardNo, name, partyGroupId}
    return axios.post(api.getPartyMembers, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // app获取会议类型
  appGetMeetingType(typeKey) {
    typeKey = typeKey || 'HYLB'
    let data = { typeKey }
    return axios.get(api.appGetMeetingType + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // app保存会议记录实体
  saveAppInsPartyMeetingBean(data) {
    data.meetTime = new Date(data.meetTime).getTime()
    return axios.post(api.saveAppInsPartyMeetingBean, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取当前用户参与的所有组织生活会记录（分页）
  getAllCurrUserAttendPartyMeetingPage(_data) {
    let data = _.extend({}, _data)
    data.pageSize = data.pageSize || pageSize
    data.pageIndex = data.pageIndex + ''
    return axios.post(api.getAllCurrUserAttendPartyMeetingPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 手动设置签到或者未签到
  setSignUnUanually(partyMeetingId, partyMeetingLogId, signStus) {
    let data = { partyMeetingId, partyMeetingLogId, signStus }
    return axios.post(api.setSignUnUanually, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 二维码测试
  erweimaTest() {
    return axios.get(api.erweimaTest).then((res) => {
      return getResult(res)
    })
  },
  // 将未查看会议通知设置为已经查看
  setPartyMemberRead(meetTingId, partyMemberId) {
    let data = { meetTingId, partyMemberId }
    return axios.post(api.setPartyMemberRead, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getPartyAffairs(data) {
    return axios.post(api.getPartyAffairs, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 文件下载API
  downLoadFile(fileId) {
    return axios.get(api.downLoadFile + fileId).then((res) => {
      return getResult(res)
    })
  },
  addPartyAffairs(partyAffairsFormModel) {
    return axios.post(api.addPartyAffairs, partyAffairsFormModel, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  updFiles(file) {
    return axios.post(api.updFiles, file, multipartHeader).then((res) => {
      return getResult(res)
    })
  },
  partyMemberSign(partyMemberSign) {
    return axios.post(api.partyMemberSign, partyMemberSign, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // app保存党员心得体会和附件
  appSaveDealContentAndFile(data) {
    return axios.post(api.appSaveDealContentAndFile, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // app保存党员心得体会和附件
  getPartyMeetingAndPlanPage(data) {
    return axios.post(api.getPartyMeetingAndPlanPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 编辑党务公开详情
  eidtPartyAffairsInfo(data) {
    return axios.post(api.eidtPartyAffairsInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询党务公开详情
  getPartyAffairsInfo(data) {
    return axios.post(api.getPartyAffairsInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除党务公开详情
  delPartyAffairsById(id) {
    return axios.get(api.delPartyAffairsById + id, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 修改组织生活
  eidtInsPartyMeeting(data) {
    data.meetTime = new Date(data.meetTime).getTime()
    return axios.post(api.eidtInsPartyMeeting, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询系统消息列表
  getSysNotice(data) {
    data.pageIndex = data.pageIndex + ''
    data.pageSize = data.pageSize + ''
    return axios.post(api.getSysNotice, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询系统最外层消息列表
  getNewsCover() {
    return axios.get(api.getNewsCover, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询组织动态，支部动态详情
  getPartyDynamicsInfoById(id, source) {
    let data = { id, source }
    return axios.get(api.getPartyDynamicsInfoById + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 消息标记为已读
  setMsgToRead(msgId) {
    return axios.get(api.setMsgToRead + msgId).then((res) => {
      return getResult(res)
    })
  },
  // 查询组织动态，支部动态列表
  getPartyDynamicsList(data) {
    return axios.post(api.getPartyDynamicsList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据会议id和签到状态查询已经签到或未签到党员（分页）
  getPartyMemberListByStatusAndMeetingIdPage(data) {
    return axios.post(api.getPartyMemberListByStatusAndMeetingIdPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 文件下载API
  downLoadFileByURL(url) {
    return axios.get(url).then((res) => {
      return getResult(res)
    })
  },
  // 通过各种条件查询党组织列表
  getPartyGroups(data) {
    return axios.post(api.getPartyGroups, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // app保存会议记录，讨论记录
  appSaveDiscussAndRecord(data) {
    return axios.post(api.appSaveDiscussAndRecord, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 某一年的学习计划
  getStudyPlanByYear(data) {
    return axios.post(api.getStudyPlanByYear, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过月计划id查询月计划及其周计划
  getStudyPlanMonthAndWeekByMonthId(data) {
    return axios.get(api.getStudyPlanMonthAndWeekByMonthId + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 通过周计划id查询计划
  getStudyPlanWeekByWeekId(data) {
    return axios.get(api.getStudyPlanWeekByWeekId + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 获取试卷列表
  getExamPaperList(data) {
    return axios.post(api.getExamPaperList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 设置会议和周计划的关联关系（添加集体学习后/选择要关联的集体学习后）
  setRelationMeetingToWeekPlan(data) {
    return axios.get(api.setRelationMeetingToWeekPlan + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 查询还没有被关联的集体学习会议
  getNotRelationMeetingList(data) {
    return axios.post(api.getNotRelationMeetingList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 答题详情
  getExamPaperAnswerDetail(data) {
    return axios.post(api.getExamPaperAnswerDetail + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 开始答题(根据周计划ID获取当前用户对应试卷的试题)
  startAnswerByWeekPlanId(data) {
    return axios.post(api.startAnswerByWeekPlanId + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 提交答案
  saveAnswer(data) {
    return axios.post(api.saveAnswer, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 党务办查询党员学习统计
  partyMemberStudyStatistics(data) {
    /**
     * isFinished (string, optional): 是否完成0:未完成，1：已完成 ,
     partyGroupId (string, optional): 支部id ,
     studyMonth (string): 年月
     */
    return axios.post(api.partyMemberStudyStatistics, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取某党支部某年答题情况
  getPartyGroupAnswerByYear(data) {
    return axios.post(api.getPartyGroupAnswerByYear, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取某一党支部某月答题情况
  getPartyGroupAnswer(data) {
    return axios.post(api.getPartyGroupAnswer, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取某一党支部周计划中所有党员答题情况
  getPartyMemberAnswer(data) {
    return axios.post(api.getPartyMemberAnswer, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取不答题申请的列表
  getNoAnswerRequestRecordList(data) {
    return axios.post(api.getNoAnswerRequestRecordList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取不答题申请的列表
  getDetail(data) {
    return axios.post(api.getDetail + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 获取各党支部某月答题情况
  getPartyGroupAnswerByMonth(data) {
    return axios.post(api.getPartyGroupAnswerByMonth, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 提交不答题申请
  submitExamNoAnswerRequest(data) {
    return axios.post(api.submitExamNoAnswerRequest, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 补开提交
  pactUpSubmit(data) {
    return axios.post(api.pactUpSubmit, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 党务办补开申请审批列表
  /**
   *  subject //主题
   startPatchupTime //补开开始时间
   endPatchupTime //补开结束时间
   pageSize //页大小
   int pageIndex //页号
   */
  dwbPactchUpApprovalList(data) {
    return axios.post(api.dwbPactchUpApprovalList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 党务办已审批列表
  /**
   *  subject //主题
   startPatchupTime //补开开始时间
   endPatchupTime //补开结束时间
   pageSize //页大小
   int pageIndex //页号
   */
  dwbPactchUpHoveApprovalList(data) {
    return axios.post(api.dwbPactchUpHoveApprovalList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 补开审批
  /**
   * isTy    //是否同意 Y通过，N不同意,必填
   weekId   //周计划ID，必填
   partyGroupId //支部ID,必填
   */
  dwbPactchUpApproval(data) {
    return axios.post(api.dwbPactchUpApproval, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 审批的数量
  dwbPactchUpApprovaCount(data) {
    return axios.post(api.dwbPactchUpApprovaCount).then((res) => {
      return getResult(res)
    })
  },
  getUserPayDetail(data) {
    return axios.post(api.getUserPayDetail, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getPartyChargeReportByMonthAndPartyGroup(data) {
    return axios.post(api.getPartyChargeReportByMonthAndPartyGroup, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getPartyGroupPayStatus(data) {
    return axios.post(api.getPartyGroupPayStatus, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getChargeEndTime(data) {
    return axios.post(api.getChargeEndTime, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  applyList(data) {
    return axios.post(api.applyList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  recordList(data) {
    return axios.post(api.recordList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getInsPartyMeetingApprovalLogList(data) {
    return axios.post(api.getInsPartyMeetingApprovalLogList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getPartyMeetingApprovalLogInfo(data) {
    return axios.get(api.getPartyMeetingApprovalLogInfo + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  saveApprovalLog(data) {
    return axios.post(api.saveApprovalLog, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  dealWithExamNoAnswerRequest(data) {
    return axios.post(api.dealWithExamNoAnswerRequest, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  getPartyMember(id) {
    return axios.get(api.getPartyMember + id).then((res) => {
      return getResult(res)
    })
  },
  getPartyMemberAnswerInfo(data) {
    return axios.post(api.getPartyMemberAnswerInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 补开详情
  getPactUpDetails(data) {
    return axios.get(api.getPactUpDetails + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 考核规则
  getCheckRuleData(data) {
    return axios.post(api.getCheckRuleData, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 支部及个人更多明细
  getMoreDetails(data) {
    return axios.post(api.getMoreDetails, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 支部及个人近期明细(10条)
  getOwnTenDetailsList(data) {
    return axios.post(api.getOwnTenDetailsList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取年度自己支部及自己考核排名查询
  getOwnYearOrOwnGourp(data) {
    return axios.post(api.getOwnYearOrOwnGourp, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 支部及个人考核排名查询
  rankingList(data) {
    return axios.post(api.rankingList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },

  // 党建红云
  // 我参与的组织生活会列表接口
  participateList(data) {
    return axios.post(api.participateList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 我发起的组织生活会列表接口
  initiateList(data) {
    return axios.post(api.initiateList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 组织生活会改版-待办列表
  meet_todoList(data) {
    return axios.post(api.meet_todoList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 组织生活会改版-删除会议
  meet_delete(data) {
    return axios.post(api.meet_delete, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活会改版-发起会议
  meet_launch(data) {
    return axios.post(api.meet_launch, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活会改版-取消会议
  meet_updateUndo(data) {
    return axios.post(api.meet_updateUndo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活会改版-扫码签到
  meet_sign(data) {
    return axios.post(api.meet_sign, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活会改版-通过通知ID获取会议ID
  meet_getMeetIdByMsgId(msgId) {//api.deleteUserChannelDeptOne + '?deptId=' + deptId
    return axios.post(api.meet_getMeetIdByMsgId + '?msgId=' + msgId, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活会改版-根据组织Id查询组织生活会
  meet_selfListOfGroupId(data) {
    return axios.post(api.meet_selfListOfGroupId,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活会改版-手动签到
  meet_manualSign(data) {
    return axios.post(api.meet_manualSign, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 组织生活会详情接口
  orgLifeDetail(data) {
    return axios.post(api.orgLifeDetail, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 我接收到的通知列表接口
  myReceiveList(data) {
    return axios.post(api.myReceiveList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过通知ID和用户删除接收到的通知公告
  delMsgMyReceive(data) {
    return axios.post(api.delMsgMyReceive, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //根据用户ID获取某个通知的接收反馈信息
  getUserResultInfo(data) {
    return axios.post(api.getUserResultInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 下级所有党员(限制100条)
  findNextAllUserList(data) {
    return axios.post(api.findNextAllUserList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 党支部所有党员
  findDzbUserList(data) {
    return axios.post(api.findDzbUserList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 新增编辑组织生活会接口
  optSaveOrgLife(data) {
    return axios.post(api.optSaveOrgLife, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 登录
  token(data) {
    let header = {
      headers: {
        Authorization: '',
        client_id: 'webApp',
        client_secret: 'webApp'
      }
    }
    return axios.post(api.token + '?' + qs.stringify(data), null, header).then((res) => {
      return getResult(res)
    })
  },
  // 扫码登录
  submitQrCodeKey(data) {
    return axios.post(api.submitQrCodeKey , data,jsonHeader ).then((res) => {
      return getResult(res)
    })
  },
  // 获取用户最后一次登录成功的设备ID号
  loginDeviceId(userId) {
    return axios.get(api.loginDeviceId+userId).then((res) => {
      return getResult(res)
    })
  },
  refreshToken(data) {
    let header = {
      headers: {
        Authorization: '',
        client_id: 'webApp',
        client_secret: 'webApp'
      }
    }
    return axios.post(api.refreshToken + '?' + qs.stringify(data), null, header).then((res) => {
      return getResult(res)
    })
  },
  // 当前登陆用户信息
  userinfo(data) {
    let header = {
      headers: {
        client_id: 'webApp',
        client_secret: 'webApp'
      }
    }
    return axios.get(api.userinfo + '?' + qs.stringify(data), null, header).then((res) => {
      return getResult(res)
    })
  },
  // 根据用户名查询用户-标准
  loginNew(data) {
    return axios.get(api.loginNew + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 查询当前登录用户登录次数
  loginCount(data) {
    return axios.get(api.loginCount).then((res) => {
      return getResult(res)
    })
  },
  // 获取所有的父子级的栏目
  childChannels(data) {
    return axios.post(api.childChannels, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取新闻列表分页数据
  contentPage(data) {
    return axios.post(api.contentPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取新闻内容详情
  contentPageDetail(id) {
    return axios.get(api.contentPageDetail + id).then((res) => {
      return getResult(res)
    })
  },
  // 党史上的今天
  todayPageDetail(url) {
    return axios.get(url).then((res) => {
      return getResult(res)
    })
  },
  // 按月日获取党史上的今天（格式一定要规范：例如06月02日）
  contentHistory(dateStr) {
    return axios.get(api.contentHistory + dateStr).then((res) => {
      return getResult(res)
    })
  },
  // type 1:时政要闻;2:关注;3:快讯
  contentCarousel(type) {
    return axios.get(api.contentCarousel + type).then((res) => {
      return getResult(res)
    })
  },
  // 查询当前用户是否点赞指定的新闻
  contentGetSfdz(contentId) {
    return axios.get(api.contentGetSfdz + contentId).then((res) => {
      return getResult(res)
    })
  },
  // 查询当前用户是否收藏指定的新闻
  contentGetSfsc(contentId) {
    return axios.get(api.contentGetSfsc + contentId).then((res) => {
      return getResult(res)
    })
  },
  // 获取评论是否被点赞
  commentGetSfdz(contentId) {
    return axios.get(api.commentGetSfdz + contentId).then((res) => {
      return getResult(res)
    })
  },
  // 获取栏目详情
  channel(id) {
    return axios.get(api.channel + id).then((res) => {
      return getResult(res)
    })
  },
  // 添加/修改内容
  addOrUpdate(data) {
    return axios.post(api.addOrUpdate, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除二级评论
  commentDeleteCommentByNews(commentId,contentId) {
    return axios.get(api.commentDeleteCommentByNews + commentId+'/'+contentId).then((res) => {
      return getResult(res)
    })
  },
  // 更新浏览量、点赞、点踩
  updateCount(data) {
    return axios.post(api.updateCount, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 增加问题(建议)
  suggestAdd(data) {
    return axios.post(api.suggestAdd, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过相应参数查询评价信息
  trainingplanpjList(data) {
    return axios.post(api.trainingplanpjList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过计划id 和期数 查询计划信息/计划审核信息/班级信息/人员信息/课程信息
  trainingPlanInfo(data) {
    return axios.post(api.trainingPlanInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 培训班新增或更新
  trainingplanClassSave(data) {
    return axios.post(api.trainingplanClassSave, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 培训班参与人员批量保存
  TrainingplanUserContactSave(data) {
    return axios.post(api.TrainingplanUserContactSave, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 培训班关联的课程表批量保存
  trainingplanCurriculumSave(data) {
    return axios.post(api.trainingplanCurriculumSave, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 培训班根据主键id修改不为空的字段
  trainingplanClassUpdateById(data) {
    return axios.post(api.trainingplanClassUpdateById, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取培训机构
  groupQueryList(data) {
    return axios.get(api.groupQueryList + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 获取教师
  usersQueryList(data) {
    return axios.get(api.usersQueryList + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 通过评价类型查询评价标准列表 不分页
  trainingplanEvaluationCriterion(data) {
    return axios.post(api.trainingplanEvaluationCriterion, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 学员评价总结列表（显示登录人员已完成，待完成的评价列表）
  findPjOfGr(data) {
    return axios.post(api.findPjOfGr, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 统计对教师及所授课程的评价
  findCountOfJsjkc(data) {
    return axios.post(api.findCountOfJsjkc, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 统计对培训机构的评价
  findCountOfPxjg(data) {
    return axios.post(api.findCountOfPxjg, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 统计对学员的评价
  findCountOfXy(data) {
    return axios.post(api.findCountOfXy, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 统计对主办单位的评价
  findCountOfZbdw(data) {
    return axios.post(api.findCountOfZbdw, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过相应参数查询对应的培训班表
  trainingplanClassList(data) {
    return axios.post(api.trainingplanClassList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 干部培训计划新增或更新
  trainingPlanInfoSaveOrUpdate(data) {
    return axios.post(api.trainingPlanInfoSaveOrUpdate, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过相应参数查询对应的干部培训计划
  trainingPlanInfoList(data) {
    return axios.post(api.trainingPlanInfoList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过相应参数查询对应的课程表
  classList(data) {
    return axios.post(api.classList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 学时统计
  countXs(data) {
    return axios.post(api.countXs, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 学员用户id获取用户培训电子档案
  getDzdaByUserId(data) {
    return axios.get(api.getDzdaByUserId + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 会议参会人员列表接口
  participateUserList(data) {
    return axios.post(api.participateUserList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 会议学习时长接口
  durationList(data) {
    return axios.post(api.durationList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 会议附件列表接口
  annexList(data) {
    return axios.post(api.annexList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 文件上传
  async o_upload(file) {
    if (window.myvue.TYPE === 'ALI') {
      let _file = file.get('file')
      let addFileData = await uploadOssAndFileCenter(_file)
      return {
        'code': 0,
        'data': {
          'fileId': addFileData.fileId,
          'fileName': addFileData.fileName,
          'totalBytes': addFileData.size,
          'desc':addFileData.desc,
        },
        'message': ''
      }
    }
    return axios.post(api.o_upload, file, multipartHeader).then((res) => {
      return getResult(res)
    })
  },
  // 组织生活会发起权限接口
  prem(data) {
    return axios.post(api.prem, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 我发送的通知列表接口
  mySendList(data) {
    return axios.post(api.mySendList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 下载文件
  download(fileId) {
    return axios.get(api.download + fileId).then((res) => {
      return getResult(res)
    })
  },
  // 会议签到接口
  sign(data) {
    return axios.post(api.sign, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通知详情接口
  nodeMsgDetail(data) {
    return axios.post(api.nodeMsgDetail, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 主页三会一课达成率接口
  complete(data) {
    return axios.post(api.complete, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 修改头像
  photo(data) {
    return axios.post(api.photo + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 今日登录人数
  homeActivationInfo(data) {
    return axios.get(api.homeActivationInfo).then((res) => {
      return getResult(res)
    })
  },
  // 按类型查询党支部空间的信息
  spaceInfoList(data) {
    return axios.post(api.spaceInfoList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 按类型查询党支部空间的信息
  saveSpaceInfoDelSpaceInfo(data) {
    return axios.post(api.saveSpaceInfoDelSpaceInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 我的收藏获取分页数据
  myCollectionPage(data) {
    return axios.post(api.myCollectionPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除我的收藏（多选）
  deleteMultiple(data) {
    return axios.post(api.deleteMultiple, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部荣誉
  // 支部荣誉列表
  honor_query(data) {
    return axios.post(api.honor_query, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 支部荣誉删除
  honor_deleteMultiple(data) {
    return axios.post(api.honor_deleteMultiple, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 支部荣誉新增、修改
  honor_addOrUpdate(data) {
    return axios.post(api.honor_addOrUpdate, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取我的足迹分页数据
  browseHistoryPage(data) {
    return axios.post(api.browseHistoryPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除我的足迹（多选）
  browseHistoryDeleteMultiple(data) {
    return axios.post(api.browseHistoryDeleteMultiple, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 新增确认会议通知(新增以后调用)
  optSendNodeMsg(data) {
    return axios.post(api.optSendNodeMsg, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据用户名查询用户信息
  userInfo(data) {
    return axios.get(api.userInfo + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 根据用户id查看党员信息
  partyInfo(userId) {
    return axios.get(api.partyInfo + userId).then((res) => {
      return getResult(res)
    })
  },
  // (APP端)首页提醒信息查询
  sytxView() {
    return axios.get(api.sytxView).then((res) => {
      return getResult(res)
    })
  },
  // 查询一周一记
  findWeekDiary(data) {
    return axios.post(api.findWeekDiary, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 一周一记查看登记
  weekDiaryView(data) {
    return axios.post(api.weekDiaryView, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询学习问答内容
  findGroup(data) {
    return axios.post(api.findGroup, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 初始化用户学习问答
  saveUserExamData(data) {
    return axios.post(api.saveUserExamData, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询今日学习问答方式
  findGroupTopicFlag(data) {
    return axios.post(api.findGroupTopicFlag, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询今日学习问答方式
  findGroupTopicFlagTest(data) {
    return axios.post(api.findGroupTopicFlagTest, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 提交学习问答
  saveGroupSubResult(data) {
    return axios.post(api.saveGroupSubResult, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 提交学习问答 test
  saveGroupSubResultTest(data) {
    return axios.post('http://222.85.152.62/party-center/rest/partyAffairs/exam/saveGroupSubResultTest', data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //积分补答题具体信息
  pointConvertInfo(data) {
    return axios.post(api.pointConvertInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查看上传的文件
  sysFile(fileId) {
    return axios.get(api.sysFile + fileId).then((res) => {
      return getResult(res)
    })
  },
  // 提交用户出题
  saveUserExam(data) {
    return axios.post(api.saveUserExam, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取我的好友列表
  friends(data) {
    return axios.get(api.friends + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 用户发布动态
  releaseNews(data) {
    return axios.post(api.releaseNews, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取动态列表
  friendNews(data) {
    return axios.get(api.friendNews + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 删除动态
  friendNewsDelete(data) {
    return axios.post(api.friendNewsDelete, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 好友申请
  friendApply(data) {
    return axios.post(api.friendApply, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 动态评论
  friendComment(data) {
    return axios.post(api.friendComment, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除动态评论
  friendCommentDelete(data) {
    return axios.post(api.friendCommentDelete, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通过年获得组工信息
  groupInfoYear(year,type) {
    return axios.get(api.groupInfoYear + year+'?type='+type).then((res) => {
      return getResult(res)
    })
  },
  // 通过组工id获取详情
  groupInfoById(groupId) {
    return axios.get(api.groupInfoById + groupId).then((res) => {
      return getResult(res)
    })
  },
  // 根据文章id获取详细内容
  groupInfoContentInfo(contentId) {
    return axios.get(api.groupInfoContentInfo + contentId).then((res) => {
      return getResult(res)
    })
  },
  // 组工信息 删除文章内容评论
  groupInfoCommentInfoDelete(contentId) {
    return axios.get(api.groupInfoCommentInfoDelete + contentId).then((res) => {
      return getResult(res)
    })
  },
  // 组工信息 点击量
  groupInfoClick(path) {
    return axios.get(api.groupInfoClick + path).then((res) => {
      return getResult(res)
    })
  },
  // 增加文章内容点赞
  groupInfoContentInfoUps(data) {
    return axios.get(api.groupInfoContentInfoUps,data).then((res) => {
      return getResult(res)
    })
  },
  // 组工信息文章评论的点赞
  groupInfoCommentInfoUps(data) {
    return axios.get(api.groupInfoCommentInfoUps+ '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 直接显示图片
  downloadImg(fileId) {
    return axios.get(api.download + fileId + '?access_token=' + tools.getToken()).then((res) => {
      return getResult(res)
    })
  },
  // 获取所有的荣誉信息列表
  honorAllInfos(data) {
    return axios.get(api.honorAllInfos + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 线上观摩列表
  observationQuery(data) {
    return axios.post(api.observationQuery, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // app用户上传自己的荣誉资料
  honorInfo(data) {
    return axios.post(api.honorInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // app用户上传自己的荣誉资料
  deleteHonor(id) {
    return axios.get(api.deleteHonor + id).then((res) => {
      return getResult(res)
    })
  },
  // 获取互动分享列表
  shareFriendNews(data) {
    return axios.get(api.shareFriendNews + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // 用户发布互动分享
  shareFriendAdd(data) {
    return axios.post(api.shareFriendAdd, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 互动分享评论
  shareFriendComment(data) {
    return axios.post(api.shareFriendComment, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 会议结束登记
  optSaveOver(data) {
    return axios.post(api.optSaveOver, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 常量字典查询接口
  findDictList(data) {
    return axios.post(api.findDictList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 反馈通知公告接口
  optSaveNodeMsg(data) {
    return axios.post(api.optSaveNodeMsg, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取内容分页数据(后台系统)
  pageForBack(data) {
    return axios.post(api.pageForBack, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取内容详情
  contentDetail(id) {
    return axios.get(api.contentDetail + id).then((res) => {
      return getResult(res)
    })
  },
  // 获取内容详情
  contentDetailNew(id) {
    return axios.get(api.contentDetailNew + id).then((res) => {
      return getResult(res)
    })
  },
  //删除新闻内容（多选）
  deleteNews(data) {
    return axios.post(api.deleteNews, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取更新通知详情
  notifyDetail(id) {
    return axios.get(api.notifyDetail + id).then((res) => {
      return getResult(res)
    })
  },
  // 获取新闻附件
  newsFiles(id) {
    return axios.get(api.newsFiles + id).then((res) => {
      return getResult(res)
    })
  },
  // 获取当前用户订阅的部门信息
  userDept() {
    return axios.get(api.userDept).then((res) => {
      return getResult(res)
    })
  },
  // 当前用户取消订阅部门的信息（单个部门）
  userChannelDeptOne(deptId) {
    return axios.post(api.deleteUserChannelDeptOne + '?deptId=' + deptId).then((res) => {
      return getResult(res)
    })
  },
  // 当前用户取消订阅部门的信息（单个部门）
  getPersonSysHonor(data) {
    return axios.post(api.getPersonSysHonor, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 添加订阅部门的信息（单个部门）
  addUserChannelDeptOne(deptId) {
    return axios.post(api.userChannelDeptOne + '?deptId=' + deptId).then((res) => {
      return getResult(res)
    })
  },
  // 支部月度成绩单
  countMonthAchievement(data) {
    return axios.post(api.countMonthAchievement, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询支部的基本信息
  getOrgInfoByUser(data) {
    return axios.post(api.getOrgInfoByUser, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询党支部空间的信息详情
  spaceInfoDetail(data) {
    return axios.post(api.spaceInfoDetail, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 用户提问
  coachSuggest(data) {
    return axios.post(api.coachSuggest, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询驻村部门
  queryList(data) {
    return axios.get(api.queryList + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询驻村辅导列表
  coachSuggestList(data) {
    return axios.post(api.coachSuggestList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 我的问答列表
  coachSuggestListOwn(data) {
    return axios.post(api.coachSuggestListOwn, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 修改密码
  passwords(data) {
    return axios.post(api.passwords, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取好友的申请我的列表
  getFrindsApplyList(data) {
    return axios.post(api.getFrindsApplyList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取我的申请好友列表
  getMyApplyList(data) {
    return axios.post(api.getMyApplyList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 判断红友是否是当前登录人的好友
  getIsFriend(data) {
    return axios.post(api.getIsFriend + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询会议通知接收人员列表
  nodeMsgList(data) {
    return axios.post(api.nodeMsgList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据辅导id获取驻村辅导详情
  getCocachSuggestInfo(id) {
    return axios.get(api.getCocachSuggestInfo + id).then((res) => {
      return getResult(res)
    })
  },
  // 评价回复内容
  replayComment(data) {
    return axios.post(api.replayComment, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 签到二维码
  signCode(data) {
    return axios.post(api.signCode, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 回复驻村辅导的提问
  replayContext(data) {
    return axios.post(api.replayContext, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取动态的文字评论列表
  getFriendComment(data) {
    return axios.get(api.getFriendComment + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 同意好友申请
  agreeApply(data) {
    return axios.post(api.agreeApply, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 好友申请回复
  friendApplyPut(data) {
    return axios.post(api.friendApplyPut, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除好友
  deletefriend(id) {
    return axios.get(api.deletefriend + id).then((res) => {
      return getResult(res)
    })
  },
  // 查看辅导师的满意率（coachTeacherId，则是这个部门下辅导师的满意率信息）
  coachTeacherInfo(data) {
    return axios.post(api.coachTeacherInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取该辅导师的问题
  coachTeacherSuggest(data) {
    return axios.post(api.coachTeacherSuggest, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 添加到我的收藏
  addCollection(data) {
    return axios.post(api.addCollection, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 点击修改加一
  coachSuggestNum(id) {
    return axios.get(api.coachSuggestNum + id).then((res) => {
      return getResult(res)
    })
  },
  // 查看部门的满意率
  coachDeptInfo(data) {
    return axios.post(api.coachDeptInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据access_token获取当前登录用户信息-标准
  currentNew() {
    return axios.get(api.currentNew).then((res) => {
      return getResult(res)
    })
  },
  // 查询提示
  findHints(data) {
    return axios.post(api.findHints, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询用户答题率信息
  userDtlInfo() {
    let data = {}
    return axios.post(api.userDtlInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 添加到我的足迹
  smallVideoWatch(userId) {
    return axios.get(api.smallVideoWatch + userId, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 取消对某个用户的关注
  smallVideoCancelWatch(userId) {
    return axios.get(api.smallVideoCancelWatch + userId, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取对用户的警告信息
  getUserWarning(userId) {
    return axios.get(api.getUserWarning + userId, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据用户ID查询用户基本信息
  getUserInfo(userId) {
    return axios.get(api.getUserInfo + userId, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 添加到我的足迹
  historyAdd(data) {
    return axios.post(api.historyAdd, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 设置通知已读接口
  optNodeMsgRead(data) {
    return axios.post(api.optNodeMsgRead, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 修改自己的个人信息
  modifyMobile(data) {
    return axios.post(api.modifyMobile, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 新增编辑组织生活会接口V2
  optSaveOrgLifeV2(data) {
    return axios.post(api.optSaveOrgLifeV2, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通知公告权限接口
  nodeMsgPrem(data) {
    return axios.post(api.nodeMsgPrem, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取某用户关注的用户(userId不传则获取当前用户)
  listInterestedUser(data) {
    return axios.post(api.listInterestedUser, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除我的小视频
  deleteMyVideo(id) {
    return axios.get(api.deleteMyVideo + id).then((res) => {
      return getResult(res)
    })
  },
  // 取消对某个用户的关注
  cancelWatch(id) {
    return axios.get(api.cancelWatch + id).then((res) => {
      return getResult(res)
    })
  },
  // 查询党支部通知列表
  branchNodeList(data) {
    return axios.post(api.branchNodeList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询党支部通知详情
  branchNodeDetail(data) {
    return axios.post(api.branchNodeDetail, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询党支部通知详情
  modifyNickName(nickName) {
    return axios.post(api.modifyNickName + '?nickName=' + nickName).then((res) => {
      return getResult(res)
    })
  },
  //支部空间改版
  //(交流)根据当前用户发起或者编辑话题
  topic_launch(data) {
    return axios.post(api.topic_launch , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)根据当前用户查询交流话题列表
  topic_selectListByUserOrg(data) {
    return axios.post(api.topic_selectListByUserOrg , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)添加某个交流话题的心得
  topic_addXdByTopic(data) {
    return axios.post(api.topic_addXdByTopic , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)根据心得查询评论列表
  topic_selectCommentListByXd(data) {
    return axios.post(api.topic_selectCommentListByXd , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)评论或回复某个心得
  topic_subComment(data) {
    return axios.post(api.topic_subComment , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //点赞某个心得或评论
  topic_subSupport(data) {
    return axios.post(api.topic_subSupport , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)取消点赞某个心得或评论
  topic_cancelSupport(data) {
    return axios.post(api.topic_cancelSupport , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)根据交流话题查询心得列表
  topic_selectListByTopic(data) {
    return axios.post(api.topic_selectListByTopic , data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)根据交流话题查询心得列表
  topic_delXdOpt(id) {
    return axios.post(api.topic_delXdOpt+id, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)根据交流话题查询心得列表
  topic_delTopic(id) {
    return axios.post(api.topic_delTopic+id, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //(交流)根据交流话题查询心得列表
  topic_delXd(id) {
    return axios.post(api.topic_delXd+id, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //根据用户获取操作权限
  topic_getByType(data) {
    return axios.post(api.topic_getByType,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部空间信息-评论列表
  topic_commentList(data) {
    return axios.post(api.topic_commentList,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部空间信息-评论的交互评论列表
  topic_commentListByLog(data) {
    return axios.post(api.topic_commentListByLog,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部空间信息-点赞评论
  topic_opt_subSupport(data) {
    return axios.post(api.topic_opt_subSupport + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部空间信息-保存评论
  topic_saveComment(data) {
    return axios.post(api.topic_saveComment,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部空间信息-保存评论的交互评论
  topic_saveCommentByLog(data) {
    return axios.post(api.topic_saveCommentByLog,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //支部空间信息-删除评论
  topic_commentDelete(data) {
    return axios.post(api.topic_commentDelete + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //会议完成率-党工委完成率排名
  dgwRank(data) {
    return axios.post(api.dgwRank,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //组织生活排名查看权限
  zzshpmQx() {
    return axios.get(api.zzshpmQx, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //通知公告app首页显示信息查询
  tzggAppShowView() {
    return axios.get(api.tzggAppShowView, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 请假旷课列表接口
  trainingplanLeave(data) {
    return axios.post(api.trainingplanLeave, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询自己订阅的部门（包括未订阅和已订阅的）
  currentDeptUserPage(data) {
    return axios.post(api.currentDeptUserPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据分类key 树key 字典key 获取字典内容
  dictValue(data) {
    return axios.get(api.dictValue + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询用户积分
  myIntegral(userId) {
    return axios.post(api.myIntegral + userId, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询日积分明细
  dayDetailList(data) {
    return axios.post(api.dayDetailList + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 消息内容分页列表获取
  pageMsg(data) {
    return axios.post(api.pageMsg, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除消息
  innerMsg(data) {
    return axios.post(api.innerMsg + data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 删除消息
  updateNodeMsgDel(data) {
    return axios.post(api.updateNodeMsgDel + data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取当前用户的未读消息条数
  getCurrentUserInfoNum(data) {
    return axios.get(api.getCurrentUserInfoNum, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 首页搜索
  appIndexSearch(data) {
    return axios.post(api.appIndexSearch, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查看自己个人的荣誉信息分页
  honorInfoOwn(data) {
    return axios.get(api.honorInfoOwn + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询是否已出题
  findUserQuestion(data) {
    return axios.post(api.findUserQuestion, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 阅读积分
  contentRead(data) {
    return axios.get(api.contentRead + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取分页数据(先查询专题栏目，如果栏目最后一页数据小于pageSize，则会返回普通视频的第一页，专题显示完后，再依次显示普通视频)
  bigVideoPage(data) {
    return axios.post(api.bigVideoPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据用户ID查询用户基本信息-标准
  getUserInfoById(id) {
    return axios.get(api.getUserInfoById + id).then((res) => {
      return getResult(res)
    })
  },
  // 查询我的反馈
  suggestQueryList(data) {
    return axios.post(api.suggestQueryList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询支部空间模块未读消息数
  readSpaceInfoStatusList(data) {
    return axios.post(api.readSpaceInfoStatusList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 新增编辑支部空间的内容
  saveSpaceInfo(data) {
    return axios.post(api.saveSpaceInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 设置支部空间信息为已读
  saveSpaceInfoRead(data) {
    return axios.post(api.saveSpaceInfoRead, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 新增编辑通知公告接口
  optSaveNodeMsgAdd(data) {
    return axios.post(api.optSaveNodeMsgAdd, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 查询下级党组织管理用户
  findNextOrgUserList(data) {
    return axios.post(api.findNextOrgUserList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 编辑党支部的基础信息接口
  saveOrgInfoExt(data) {
    return axios.post(api.saveOrgInfoExt, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 党务模块权限
  partyPrem(data) {
    return axios.post(api.partyPrem, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 发送短信验证码
  sendCode(mobile) {
    return axios.get(api.sendCode + mobile, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 校验验证码
  checkCode(data) {
    return axios.get(api.checkCode + '?' + qs.stringify(data), jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 短信验证码重置用户密码
  updatePassWordByPhone(data) {
    return axios.post(api.updatePassWordByPhone + '?' + qs.stringify(data)).then((res) => {
      return getResult(res)
    })
  },
  // app查询主办单位待评价和已评价的培训班
  findZbdwPjOfApp(data) {
    return axios.post(api.findZbdwPjOfApp, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 换届提醒信息
  hjtxInfo(data) {
    return axios.post(api.hjtxInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 会议手动补签接口
  manualSign(data) {
    return axios.post(api.manualSign, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通知接收用户列表接口
  assignUserList(data) {
    return axios.post(api.assignUserList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 通知公告未读数
  countUnRead(data) {
    return axios.post(api.countUnRead, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 根据ID返回问题建议
  suggestByid(id) {
    return axios.get(api.suggestByid + id).then((res) => {
      return getResult(res)
    })
  },
  // 获取内容分页数据(可按字段排序)
  dangWuPage(data) {
    return axios.post(api.dangWuPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 验证会议签到率接口
  verifySignInRate(data) {
    return axios.post(api.verifySignInRate, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 组工信息 添加点击量
  groupInfoClickAdd(data) {
    return axios.post(api.groupInfoClick, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 筑固工程查询最新推荐记录
  recommendRecord(data) {
    return axios.post(api.recommendRecord, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 筑固工程示范点支部荣誉分页查询
  honorQuery(data) {
    return axios.post(api.honorQuery, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 筑固工程示范点固本有方分页查询
  newsQuery(data) {
    return axios.post(api.newsQuery, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 对支部进行点赞
  recommendRecordDianZan(partyGroupId) {
    return axios.post(api.recommendRecordDianZan + partyGroupId).then((res) => {
      return getResult(res)
    })
  },
  // 支部浏览量+1
  recommendRecordViews(partyGroupId) {
    return axios.post(api.recommendRecordViews + partyGroupId).then((res) => {
      return getResult(res)
    })
  },

  // 商城
  // 获取订单分页数据
  mallOrderPage(data) {
    return axios.post(api.mallOrderPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 提交预约申请
  mallOrderYuyue(data) {
    return axios.post(api.mallOrderYuyue, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 商家未确认前，撤销预约申请。
  mallOrderCancelYuyue(data) {
    return axios.post(api.mallOrderCancelYuyue, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取预约记录有撤销的订单记录
  mallGetOrdersWithCancel(data) {
    return axios.post(api.mallGetOrdersWithCancel, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取商品详情信息
  mallGetProductInfo(productId) {
    return axios.get(api.mallGetProductInfo + productId).then((res) => {
      return getResult(res)
    })
  },
  //  获取兑换后的商品详情信息
  mallGetProductOrderInfo(data) {
    return axios.post(api.mallGetProductOrderInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 分页分类列表信息
  mallCategoryInfoPage(data) {
    return axios.post(api.mallCategoryInfoPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 热门商品列表
  mallProductHotPage(data) {
    return axios.post(api.mallProductHotPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 红云办商品查询
  mallProductHybPage(data) {
    return axios.post(api.mallProductHybPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 分页商品列表信息（商户类型）
  mallProductInfoPage(data) {
    return axios.post(api.mallProductInfoPage, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 创建订单（立即兑换）
  mallCreateOrder(data) {
    return axios.post(api.mallCreateOrder, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  // 获取订单详情
  mallGetOrderDetail(orderId) {
    return axios.get(api.mallGetOrderDetail + orderId).then((res) => {
      return getResult(res)
    })
  },
  //获取订单状态（通过订单id,定时器刷用）
  getOrderStatus(orderId) {
    return axios.post(api.getOrderStatus + orderId).then((res) => {
      return getResult(res)
    })
  },
  // 消费商品(立即使用)
  mallOrderCost(data) {
    return axios.post(api.mallOrderCost, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  mallGetStoreListDto(data) {
    return axios.post(api.mallGetStoreListDto, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  mallGetStore(storeId) {
    return axios.get(api.mallGetStore + storeId).then((res) => {
      return getResult(res)
    })
  },
  //获取最早未答题的月份
  getBdtFirstMonth(data) {
    return axios.post(api.getBdtFirstMonth, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //获取最早未答题的月份
  getLatelyWeiDaMonth(data) {
    return axios.post(api.getLatelyWeiDaMonth, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //订单选择答题日历
  orderForMonthDtCalendar(data) {
    return axios.post(api.orderForMonthDtCalendar, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //订单选择日期答题
  orderApplyGetDtInfo(data) {
    return axios.post(api.orderApplyGetDtInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  }, //订单提交答题消费
  saveOrderApplyDt(data) {
    return axios.post(api.saveOrderApplyDt, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  }, //根据订单获取撤销记录
  getCancelByOrder(data) {
    return axios.post(api.getCancelByOrder, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //修改预约记录
  updateYuyueRecord(data) {
    return axios.post(api.updateYuyueRecord, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //红云超市  - 商家入驻相关
  //app查询咨询（只能看到自己的）
  postConsultInfoList(data) {
    return axios.post(api.postConsultInfoList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //app新增咨询
  postAddConsultInfo(data) {
    return axios.post(api.postAddConsultInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //app删除咨询
  postDeleteConsultInfo(id) {
    return axios.post(api.postDeleteConsultInfo+id, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //app修改咨询
  postUpdateConsultInfo(data) {
    return axios.post(api.postUpdateConsultInfo, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //可网上报名培训列表
  getWsbmList(data) {
    return axios.post(api.getWsbmList, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //可网上报名培训列表
  getListByUser(data) {
    return axios.post(api.getListByUser, data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  //培训班详情
  trainClassDetail(classId) {
    return axios.get(api.trainClassDetail+classId).then((res) => {
      return getResult(res)
    })
  },
  //app在线报名
  appBm(data) {
    return axios.post(api.appBm,data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  examUserTopicMonthCalendar(data) {
    return axios.post(api.examUserTopicMonthCalendar + '?' + qs.stringify(data), data, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  examUserTopicDetail(id) {
    return axios.get(api.examUserTopicDetail + id, jsonHeader).then((res) => {
      return getResult(res)
    })
  },
  /*获取动态接口服务IP*/
  fetchDynamicHost() {
    /**
    * 请求参数中添加APP版本号，系统平台（Ios,Android）
    * 方便后期后台针对不同版本、系统返回不同接口服务地址
    **/
    let params = {
      version: version.version,
      versionName: version.versionName,
      platform: isIos() ? 'ios' : 'android'
    }
    axios.get(api.dynamicHost + `?${qs.stringify(params)}`, formHeader).then((res) => {
      console.log('dynamicHost', res)
      if (res && res.status === 200 && res.data.data && res.data.data.ip.indexOf('http') === 0) {
        sessionStorage.dynamicHost = res.data.data.ip
        api.makeApi() //域名自动切换2020年12月26日 19:02:22
      }
    })
  },
}
